webpack - 多进程打包
可以通过thread-loader进行多线程打包。
注意:并不是开启多线程打包就更快,有时候会更慢
- 进程启动大概需要600ms,并且进程间通信也需要一定的开销;
- 只有消耗时间比较长,才需要多进程打包;
就目前的项目,可以在babel-loader中使用多线程打包,进行测试;
安装npm install thread-loader -D
在webpack.config.js文件中加入多线程打包
// 添加js兼容性
{
test: /.js$/,
exclude: /node_modules/,
use: [
// 开启多线程打包
'thread-loader',
{
loader: 'babel-loader',
options: {
// 预设babel要做哪种兼容,目前使用的是 @babel/preset-env
presets: [
[
'@babel/preset-env',
// 按需加载兼容性
{
// 按需加载
useBuiltIns: 'usage',
// 指定core-js版本
corejs: {
version: 3
},
// 兼容哪些浏览器
targets: {
ie: '9',
chrome: '50',
// ...
}
}
]
],
// 开启babel缓存
cacheDirectory: true,
}
}
]
},
测试:
- 未开启多线程

开启多线程

也可以指定thread-loader可以指定几个进程。
{
loader: 'thread-loader',
options: {
workers: 2, //2个进程
}
},
是否开启多进程打包,具体看情况,千万不要滥用
本章结束!